package com.ww.springboot.boot.algorithm.leetcode2;

import java.util.ArrayList;
import java.util.Arrays;

/**
 * 描述：
 *
 * @author 🧑 ‍wanwei
 * @since 2025-06-19 11:00
 */
public class B2294划分数组使最大差为K {

    public static void main(String[] args) {
        int[] nums = {2,2,4,5};
        System.out.println(new B2294划分数组使最大差为K().partitionArray(nums, 0));
    }

    /**
     * 1.排序
     * 2.遍历 每次切割差值小于等于K的数 为一组 直到全切完
     * @param nums
     * @param k
     * @return
     */
    public int partitionArray(int[] nums, int k) {
        Arrays.sort(nums);

        int left = nums[0];
        int size = 1;
        for (int i = 1; i < nums.length; i++) {
            if(nums[i] - left > k){
                size++;
                left = nums[i];
            }
        }
        return size;
    }
}
